import os
import shutil

# 设置要处理的文件夹路径
source_folder = "D:\\Codes\\ultralytics-main\\ultralytics\\cfg\\datasets\\data4\\val\\labels"
target_folder = "D:\\Codes\\ultralytics-main\\ultralytics\\cfg\\datasets\\data4\\val\\images"

# 创建目标文件夹(如果不存在)
if not os.path.exists(target_folder):
    os.makedirs(target_folder)

# 遍历源文件夹中的所有文件
for filename in os.listdir(source_folder):
    # 获取文件名(不包括后缀)
    file_base_name = os.path.splitext(filename)[0]

    # 在目标文件夹中查找和文件名相同的图片文件
    for root, dirs, files in os.walk("D:\\Codes\\ultralytics-main\\ultralytics\\cfg\\datasets\\data3\\train\\images"):
        for file in files:
            if os.path.splitext(file)[0] == file_base_name:
                # 复制图片文件到目标文件夹
                src_path = os.path.join(root, file)
                dst_path = os.path.join(target_folder, file)
                shutil.copy2(src_path, dst_path)
                print(f"Copied {file} to {target_folder}")
                break  # 找到第一个匹配的图片文件后就停止搜索